PEP647 TypeGuardの簡単な紹介
静的型チェッカーのためのもの
以下を解決したい
code:python
def is_str_list(val: Listobject) -> bool: """Determines whether all objects in the list are strings"""
return all(isinstance(x, str) for x in val)
if is_str_list(val):
print(" ".join(val)) # Error: invalid type
解決方法
これでfunc1での書き方がErrorにならない
code:python
def is_str_list(val: Listobject) -> TypeGuard[Liststr]: """Determines whether all objects in the list are strings"""
return all(isinstance(x, str) for x in val)